#ifndef __AP3216C_H__
#define __AP3216C_H__

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/uaccess.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/miscdevice.h>

#define AP3216C_NUMBER	5

/* AP3316C 寄存器 */
#define AP3216C_SYSTEMCONG		0x00	/* 配置寄存器 */
#define AP3216C_INTSTATUS		0X01	/* 中断状态寄存器 */
#define AP3216C_INTCLEAR		0X02	/* 中断清除寄存器 */
#define AP3216C_IRDATALOW		0x0A	/* IR 数据低字节 */
#define AP3216C_IRDATAHIGH		0x0B	/* IR 数据高字节 */
#define AP3216C_ALSDATALOW		0x0C	/* ALS 数据低字节 */
#define AP3216C_ALSDATAHIGH		0X0D	/* ALS 数据高字节 */
#define AP3216C_PSDATALOW		0X0E	/* PS 数据低字节 */
#define AP3216C_PSDATAHIGH		0X0F	/* PS 数据高字节 */

struct ap3216c_handle{
	int use_flag;
	struct i2c_client *client;
};

#endif
